package com.ybkj.daijia.server.service;

import com.ybkj.daijia.common.Result;
import com.ybkj.daijia.page.Page;
import com.ybkj.daijia.server.model.WeixinManager;
import com.ybkj.daijia.server.model.WeixinManagerTixianRecord;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author Shine
 */
public interface WeixinManagerTixianRecordService {

    /**
     * 保存微信管理员提现记录
     *
     * @param weixinManagerTixianRecord
     * @return
     */
    public WeixinManagerTixianRecord insertRecord(
        WeixinManagerTixianRecord weixinManagerTixianRecord);

    /**
     * 根据主键查询微信管理员提现记录
     *
     * @param id
     * @return
     */
    public WeixinManagerTixianRecord findOne(Long id);

    /**
     * 根据微信管理员与时间段查询管理员提现记录
     *
     * @param memberid
     * @param start
     * @param end
     * @return
     */
    public Page<WeixinManagerTixianRecord> queryAll(Long memberid, Integer page, Integer limit,
        Date start,
        Date end, String param);

    /**
     * 微信管理员进行提现操作
     *
     * @param weixinManagerTixianRecord
     * @param weixinManager
     * @return
     */
    public Result<WeixinManagerTixianRecord> tixianAudit(
        WeixinManagerTixianRecord weixinManagerTixianRecord,
        WeixinManager weixinManager, HttpServletResponse response, HttpServletRequest request);

    public void tixianApply(
        WeixinManagerTixianRecord weixinManagerTixianRecord,
        WeixinManager weixinManager);

    public void update(WeixinManagerTixianRecord weixinManagerTixianRecord);

    public void cancelTixian(WeixinManager weixinManager,
        WeixinManagerTixianRecord weixinManagerTixianRecord);

    public Long countNewByCompany(Long companyId);

    public Long countNewByManager(Long managerId);


}
